using System;
using System.Collections.Generic;
using System.Text;

namespace MakeIT.Alf.Site.Entidades
{
	public class PessoaVO
	{
		// Impedir o uso de new para esta classe
		protected PessoaVO() { }

		// Cria uma instancia desta classe
		public static PessoaVO CreateVO()
		{
			PessoaVO pessoa = new PessoaVO();
			pessoa.idLogradouroVO = LogradouroVO.CreateVO();
			return pessoa;
		}
		public static PessoaVO CreateVO(int idPessoa, string nome)
		{
			PessoaVO obj = CreateVO();
			obj.idPessoa = idPessoa;
			obj.nome = nome;
			return obj;
		}
		// Descrição amigavel do conteudo deste objeto
		public override string ToString()
		{
			return (idPessoa!=null?idPessoa.ToString():"") + "-" + (nome!=null?nome.ToString():"");
		}
		// Retorna PK concatenada com ";"
		public string PKString
		{
			get { return idPessoa.ToString(); }
		}

		#region MEMBROS DA CLASSE
		public int idPessoa
		{
			get { return this._idPessoa; }
			set { this._idPessoa = value; }
		}
		private int _idPessoa;
		public string cPF
		{
			get { return this._cPF; }
			set { this._cPF = value; }
		}
		private string _cPF;
		public string cNPJ
		{
			get { return this._cNPJ; }
			set { this._cNPJ = value; }
		}
		private string _cNPJ;
		public string iE
		{
			get { return this._iE; }
			set { this._iE = value; }
		}
		private string _iE;
		public string iM
		{
			get { return this._iM; }
			set { this._iM = value; }
		}
		private string _iM;
		public string nome
		{
			get { return this._nome; }
			set { this._nome = value; }
		}
		private string _nome;
		public int idLogradouro
		{
			get { return this._idLogradouro; }
			set { this._idLogradouro = value; 
			      if(value!=null) this.idLogradouroVO.idLogradouro = (int)value; }
		}
		private int _idLogradouro;
		public string endNum
		{
			get { return this._endNum; }
			set { this._endNum = value; }
		}
		private string _endNum;
		public string endCom
		{
			get { return this._endCom; }
			set { this._endCom = value; }
		}
		private string _endCom;
		public string email
		{
			get { return this._email; }
			set { this._email = value; }
		}
		private string _email;
		public string fone1
		{
			get { return this._fone1; }
			set { this._fone1 = value; }
		}
		private string _fone1;
		public string fone2
		{
			get { return this._fone2; }
			set { this._fone2 = value; }
		}
		private string _fone2;
		public string fone3
		{
			get { return this._fone3; }
			set { this._fone3 = value; }
		}
		private string _fone3;
		public string contato
		{
			get { return this._contato; }
			set { this._contato = value; }
		}
		private string _contato;
		public string responsavel
		{
			get { return this._responsavel; }
			set { this._responsavel = value; }
		}
		private string _responsavel;
		public DateTime cadastro
		{
			get { return this._Cadastro; }
			set { this._Cadastro = value; }
		}
		private DateTime _Cadastro;
		public string cadastradoPor
		{
			get { return this._CadastradoPor; }
			set { this._CadastradoPor = value; }
		}
		private string _CadastradoPor;
		public DateTime edicao
		{
			get { return this._Edicao; }
			set { this._Edicao = value; }
		}
		private DateTime _Edicao;
		public string editadoPor
		{
			get { return this._EditadoPor; }
			set { this._EditadoPor = value; }
		}
		private string _EditadoPor;
		public LogradouroVO idLogradouroVO
		{
			get { return this._idLogradouroVO; }
			set { this._idLogradouroVO = value; }
		}
		private LogradouroVO _idLogradouroVO;
		#endregion
	}
}
